Nagios: Instalação do Addon Nagios NRPE para Execução de Plugins em Máquinas Remotas com Debian Squeeze (Debian6)
Por Fábio Gil - Criado em 25/11/2011 Adaptação: NRPE Documentation, disponível em http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf No servidor Linux Remoto (Host Remoto) 1. Criar a conta do Nagios /usr/sbin/useradd nagios passwd nagios 2. Instalar o Plugin do Nagios Baixar e descompactar o Nagios Plugin: mkdir ~/downloads cd ~/downloads wget -c http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz tar xvzf nagios-plugins-1.4.15.tar.gz cd nagios-plugins-1.4.15 Compilar o instalar o Nagios Plugin (Nota: No Debian, deve-se instalar o pacote build-essential antes): ./configure make make install 3. Setar as permissões chown nagios.nagios /usr/local/nagios chown -R nagios.nagios /usr/local/nagios/libexec 4. Instalar xinetd apt-get install xinetd 5. Instalar o daemon NRPE Baixar o Addon NRPE: cd ~/downloads wget -c http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz/download Descompactar o tar: tar xzf nrpe-2.12.tar.gz cd nrpe-2.12 Resolver as dependências: apt-get install libssl-dev Compilar o addon NRPE: ./configure make all Seguir com a instalação do plugin NRPE (para testes), daemon, e exemplo de arquivo de configuração do daemon: make install-plugin make install-daemon make install-daemon-config 6. Configurar o NRPE Instalar o daemon NRPE sobre o serviço xinetd: make install-xinetd Editar o arquivo /etc/xinetd.d/nrpe e adicione o endereco IP do servidor monitor na diretiva "only_from": only_from = 127.0.0.1 Adicionar a seguinte entrada para o damemon NRPE no arquivo /etc/services. nrpe 5666/tcp # NRPE Reiniciar o serviço xinetd: /etc/init.d/xinetd restart 7. Testar o daemon NRPE daemon Verifique se o xinetd esta funcionando apropriadamente: netstat -at | grep nrpe A saída devera ser: tcp 0 0 *:nrpe *:* LISTEN Se a saída acima apareceu então tudo ok. Caso contrário, verifique se: * Foi adicionada a entrada do NRPE no arquivo /etc/services? * A diretiva "only_from" em /etc/xinetd.d/nrpe está com a entrada "127.0.0.1"? * O xinetd foi instalado e inicializado? * Verifique o arquivo de log (no debian: /etc/log/daemon.log), para resolver problemas reportados pelo xinetd. Em seguida, verifique se o daemon NRPE está funcionando apropriadamente, a partir do Host Monitor. Para fazer isto, execute o plugin "check_nrpe", como segue: /usr/local/nagios/libexec/check_nrpe -H Deverá ser mostrado na saída do comando acima a versão do NRPE instalado, como segue: NRPE v2.12 Caso ocorrer a mensagem de erro: "CHECK_NRPE: Error - Could not complete SSL handshake", entao faca o seguinte: No host remoto, abra o arquivo /usr/local/nagios/etc/nrpe.cfg, altere a seguinte linha. De: allowed_hosts=127.0.0.1 Para: allowed_hosts= Ex: allowed_hosts=10.10.1.46 Faça o teste novamente. /usr/local/nagios/libexec/check_nrpe -H Como mencionado acima, deverá ser mostrado a versão do NRPE instalado, caso contrário verifique o arquivo de log do Nagios em /var/log/daemon.log. Nota: Sempre verificar o log /var/log/daemon.log (Debian) para checar existência erros. Instalação do NRPE no Host Monitor 1. Instalar o plugin NRPE da mesma forma como no host remoto (ver capítulo anterior), porém há necessidade de instalar o daemon, nem o arquivo de configuração (descartar o make install-daemon, e make install-daemon-config) 2. Testar, através do lado do host monitor, o daemon NRPE Nota: Para executar este teste, certifique se o IP do host monitor foi devidamente configurado, conforme descrito no capítulo anterior. /usr/local/nagios/libexec/check_nrpe -H A saída do comando deverá ser: NRPE v2.12 Caso ocorra algum tipo de problema de conexão, verifique a configuração do IP do host monitor na diretiva "allowed_hosts" no arquivo de configuração /usr/local/nagios/etc/nrpe.cfg, no lado do host remoto (ver capítulo anterior). 3. Criar a definição de comando do NRPE Em /usr/local/nagios/etc/nrpecommand.cfg, adicionar: define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ } Em /usr/local/nagios/etc/nagios.cfg, adicione: # NRPE cfg_file=/usr/local/nagios/etc/nrpecommand.cfg Reinicie o Nagios: /etc/init.d/nagios restart Definições de Host e Services As configurações de Host e Services obviamente deverao ser definidas no Host Monitor. O Nagios trabalha com templates tanto de hosts como de services. Você poderá encontrar templates prontos para uso em /usr/local/nagios/etc/objects/templates.cfg. Mas aqui vamos utilizar apenas os templates padrão do Nagios, ficando a criacão de templates customizáveis para um capítulo. Vamos criar a definição do host remoto: Primeiramente, crie um diretório, poderá ser "servers", como a seguir: mkdir /usr/local/nagios/etc/servers Edite o arquivo /usr/local/nagios/etc/servers/remotehost1.cfg, e adicione: Nota: O nome do arquivo .cfg e sugestivo, podendo ser mudado conforme o administrador achar melhor. define host{ use linux-server host_name remotehost1 alias remotehost1 address } Nota: Substituir pelo endereco IP. Em seguida, definir os services. Vamos adicionar os seguintes services: # Service de echo define service{ use local-service ; Name of service template to use host_name remotehost1 service_description PING check_command check_ping!100.0,20%!500.0,60% } # Service de uso de CPU define service{ use local-service ; Name of service template to use host_name remotehost1 service_description CPU Load check_command check_nrpe!check_load } # Service de Espaco Livre: define service{ use local-service host_name remotehost1 service_description /dev/hda1 Free Space check_command check_nrpe!check_hda1 } Nota: Para o service "Disk Free" mencionado acima, verifique a partição a ser checada pelo NRPE. No exemplo acima, será checado a partição /dev/hda1, porém, poderá ser especificado outro tipo de partição, cujo comando é definido no final do arquivo de configuração do NRPE, em /usr/local/nagios/etc/nrpe.cfg. Feito isso, adicione em /usr/local/nagios/etc/nagios.cfg a linha: cfg_file=/usr/local/nagios/etc/servers/remotehost1.cfg Verifique a configuração do Nagios com o comando abaixo: /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Se ocorrer algum erro durante esta checagem, verifique o arquivo de configuração de host criado logo acima. Caso ocorrer tudo bem, então inicialize/reinicialize o Nagios: /etc/init.d/nagios restart Obs: Para verificar problemas com o Nagios, checar sempre o seu log principal, localizado em: /usr/local/nagios/var/nagios.log '' '''Referências:' * http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf * http://library.nagios.com/library/products/nagioscore/manuals/ * http://www.nagios.org * http://nagiosplug.sourceforge.net/developer-guidelines.html * http://nagiosnapratica.wordpress.com/indice-do-site/